from devicetest.aw.OpenHarmony import CommonOH
from devicetest.core.test_case import TestCase, Step

from aw.common import common_setup, common_teardown
from aw.pom import Memorandum


class PreTest_RK3568_Tooling_Memorandum_0400(TestCase, Memorandum):
    # 预置条件：
    # 烧写目标版本后，正常进入桌面
    # 测试步骤：
    # 1.点击长按已存在的文件夹
    # 2.选择编辑文件夹按钮
    # 3.选择删除文件夹按钮
    # 4.选择新建文件夹按钮
    # 预期结果：
    # 1.显示弹窗，有编辑文件夹、删除文件夹、新建文件夹三个功能键选择，点击空白区域可取消选择
    # 2.正常弹出文件夹编辑框
    # 3.正常弹出删除文件夹确认弹框
    # 4.正常弹出新建文件夹弹框

    def __init__(self, controllers):
        self.TAG = self.__class__.__name__
        TestCase.__init__(self, self.TAG, controllers)

    def setup(self):
        common_setup(self.Phone1)

    def process(self):
        Step('步骤1：进入桌面，点击备忘录应用，点击收缩文件夹，点击长按已存在的文件夹')
        CommonOH.startAbility(self.Phone1, self.ability_name, self.bundle_name)
        CommonOH.wait(self.Phone1, 1)
        # (72,128)为收缩文件夹的坐标
        CommonOH.click(self.Phone1, **self.open_menu)
        CommonOH.touchByText(self.Phone1, '个人', mode='LONG')
        Step('预期结果1：显示弹窗，有编辑文件夹、删除文件夹、新建文件夹三个功能键选择，点击空白区域可取消选择')
        CommonOH.checkIfTextExist(self.Phone1, '编辑文件夹')
        CommonOH.checkIfTextExist(self.Phone1, '删除文件夹')
        CommonOH.checkIfTextExist(self.Phone1, '新建文件夹')
        # 点击空白处
        CommonOH.click(self.Phone1, x=600, y=1030)
        CommonOH.wait(self.Phone1, 0.5)
        CommonOH.checkIfTextExist(self.Phone1, '编辑文件夹', expect=False)
        CommonOH.checkIfTextExist(self.Phone1, '删除文件夹', expect=False)
        CommonOH.checkIfTextExist(self.Phone1, '新建文件夹', expect=False)
        Step('步骤2：选择编辑文件夹按钮')
        CommonOH.touchByText(self.Phone1, '个人', mode='LONG')
        # 点击新建文件夹的输入框
        CommonOH.touchByText(self.Phone1, '编辑文件夹')
        Step('预期结果2：正常弹出文件夹编辑框')
        CommonOH.checkIfTextExist(self.Phone1, '编辑文件夹')
        CommonOH.checkIfTextExist(self.Phone1, '取消')
        CommonOH.touchByText(self.Phone1, '取消')
        Step('步骤3：选择删除文件夹按钮')
        CommonOH.touchByText(self.Phone1, '个人', mode='LONG')
        # 点击新建文件夹的输入框
        CommonOH.touchByText(self.Phone1, '删除文件夹')
        Step('预期结果3：正常弹出文件夹编辑框')
        CommonOH.checkIfTextExist(self.Phone1, '取消')
        CommonOH.checkIfTextExist(self.Phone1, '删除')
        CommonOH.touchByText(self.Phone1, '取消')
        Step('步骤4：选择新建文件夹按钮')
        CommonOH.touchByText(self.Phone1, '个人', mode='LONG')
        # 点击新建文件夹的输入框
        CommonOH.touchByText(self.Phone1, '新建文件夹')
        Step('预期结果4：正常弹出新建文件夹弹框')
        CommonOH.checkIfTextExist(self.Phone1, '取消')
        CommonOH.touchByText(self.Phone1, '取消')

    def teardown(self):
        common_teardown(self.Phone1, self.bundle_name)
